這堂課要做的是一個Canvas(每日一字:Canvas意指帆布;油畫布),大家可以用滑鼠在頁面上作畫,而畫筆會自動改變顏色(紅橙黃綠藍靛紫輪迴)和改變粗細(細變粗再變細)。範例連結如下:
const ctx = canvas.getContext("2d");
。可以看到裡面有個2D參數,所以想必Context也能夠畫3D,但這次就先以2D來介紹。ctx.strokeStyle = '#BADA55';
ctx.lineJoin = 'round';
ctx.lineCap = 'round';
分別是畫筆顏色、線條間連結樣式(尖角或圓角)、畫尖樣式(方正頭或圓頭)。ctx.beginPath();
ctx.moveTo(lastX, lastY);
ctx.lineTo(e.offsetX, e.offsetY);
ctx.stroke();
上面這幾行code基本上是共存的,缺一不可。beginPath()是個啟動作畫的函式,moveTo()和lineTo()可以想成是線段的起點和終點,最後stroke()是把線段畫上去。[lastX, lastY] = [e.offsetX, e.offsetY];
,可同時賦予多個變數值。